草庐IT

TypeScript 循环

全部标签

javascript - 在 Node JS 中将文件循环到数组中时存储 fs.stat

我循环访问目录中的文件并将文件详细信息存储到数组data中。如果我不尝试运行fs.stat来获取诸如文件创建/编辑日期之类的信息,则以下代码将填充数组:fs.readdir('../src/templates',function(err,files){if(err){throwerr;}vardata=[];files.forEach(function(file){try{fs.stat('../src/templates/'+file,(error,stats)=>{data.push({Name:file,Path:path.join(query,file)});});}catch

javascript - JavaScript ES6 (<<) 中的按位左移是否在 63 位以上循环?

我对JS(ES6)中的然而,根据经验,我注意到在V8和JSC中,如果我们移动64位或更多位,设置位似乎会突然重新出现。(255"11111111"这与我的预期相反,我的预期是更大的移位将无限期地只在右侧产生零。我没有立即在 最佳答案 规范(Section12.8.3.1)指定要移位的位数被屏蔽:ShiftExpression:ShiftExpressionLetlrefbetheresultofevaluatingShiftExpression.LetlvalbeGetValue(lref).ReturnIfAbrupt(lval)

javascript - typescript : find date difference in dates/hours/minutes

我正在进行日期比较,我正在尝试以日期、小时、分钟的格式计算和显示两个日期之间的差异...日期值存储在数据库中,如下所示:EndDate:2018-11-2910:49:49.9396033PurchaseDate:2018-11-2910:49:07.4154497在我的Angular组件中,我有:letresult=newDate(res.endDate).valueOf()-newDate(res.purchaseDate).valueOf();这导致:42524我不确定它代表什么。我想知道计算两个日期之间时差的正确方法是什么,以及如何以正确且可读的方式显示结果。欢迎任何帮助

javascript - 如何将字符串数组转换为 typescript 类型?

我有这个数组:constarr=["foo","bar","loo"]我需要将它转换为typescript类型typearrTyp="foo"|"bar"|"loo";我如何在typescript中做到这一点? 最佳答案 为3.4及更高版本编辑:在3.4constassertions添加了,所以我们可以使用asconst得到一个字符串字面量类型的元组:constarr=["foo","bar","loo"]asconsttypearrTyp=typeofarr[number];//"foo"|"bar"|"loo"原创问题是arr没

带有defineSetter的javascript无限循环

我有以下代码-varobj={name:"Yosy"};obj.__defineSetter__("name",function(v){alert(v);});问题是——如果我将obj.name更改为其他内容和console.log(obj)我将在name属性上得到undefined。所以我试图将obj.defineSetter修复到这个-varobj={name:"Yosy"};obj.__defineSetter__("name",function(v){alert(v);this.name=v;});如果您将名称更改为“ABC”或其他名称,您将得到一个无限循环,因为在define

javascript - jQuery JSON循环遍历嵌套对象

我目前有这个:$.getJSON('test.json',function(data){varitems=[];$.each(data,function(key,val){items.push(''+val+'');});$('',{'class':'my-new-list',html:items.join('')}).appendTo('body');});test.json看起来像这样:{"key1":{"key11":"value11","key12":"value12"},"key2":"value2","key3":"value3"}我得到:[objectObject]val

带有绑定(bind)点击事件的 Javascript 循环总是返回最后的结果

我有一个在javascript中运行的for循环。在这个循环中,我创建了一个列表项并将点击事件绑定(bind)到它。当我单击此列表项时,我希望它以当前循环对象中的数据作为参数调用一个函数。问题是,无论我点击哪个列表项。作为参数传递的数据是我正在循环的对象的最后一个元素,而不是正在单击的当前元素。for(eindata){varsuggestItem=$(''+data[e]['name']+'');suggestItem.click(function(){$(this).addClass('activeSuggestion');suggestSelect(suggestField,da

javascript - while 循环只返回最终结果

while(counterInc此代码应每3000毫秒递增带有ID结果的标签,而不是运行while循环并返回最终结果。例如,不是将文本更改为1、2、3、4、5、..n,而是将文本更改为n。如何让循环每1000毫秒更新一次文本字段,而不是只更新最终结果? 最佳答案 试试这个varcounterInc=0;varcounterMax=10;vartimeoutId=window.setInterval(function(){$('#results').text(counterInc++);if(counterInc>=counterMa

javascript - 有没有办法随机循环对象的键?

我有一个类似这样的for循环for(varkeyinmyObjectArray){[code]}除了每次都打乱输出顺序外,我想做同样的事情。有什么简单的方法吗?我可以制作一个单独的键数组,对它们进行排序,然后使用索引执行for循环……但这看起来工作量很大而且效率很低。 最佳答案 是的。首先,您需要一组键:varkeys;if(Object.keys)keys=Object.keys(myObjectArray);elsekeys=(function(obj){vark,ret=[];for(kinobj)if(obj.hasOwnP

javascript - TypeScript 可以为 Closure Compiler 输出注释吗?

我正在使用TypeScript,我想使用Closure-Compiler来缩小和混淆构建TS代码后获得的JS输出。我读到GCC能够根据类型定义进行混淆。据我所知(如果我错了,请纠正我)这意味着如果我的代码上有类型注释,那么GCC将使用它们来进行更好的混淆。例如,对于obj.someProp,GCC目前在我的代码中查找someProp属性名称的所有实例,而不考虑它在哪个对象上,并替换所有实例到相同的混淆名称(例如o.a)。但是如果我在我的代码上有类型注释,GCC将能够知道哪个对象属于哪种类型并相应地对其进行混淆-因此两种不同类型的相同属性名称将被混淆为两个不同的名称。问题:我的理解正确吗